# -*- coding: utf-8 -*-
from django.contrib import admin
from django.contrib.admin.options import ModelAdmin
from django import forms

from Tags import aplicar_tags, tags_para_objeto

from Advertiser.models import *
from BlogJuvenis.models import *
from Colaboradores.models import *
from Galerya.models import *
from Scope.models import *
from Shopping.models import *

class FormNoticia(forms.ModelForm):
    class Meta:
        model = Noticia
    tags = forms.CharField(max_length=30, required=False)
    def __init__(self, *args, **kwargs):
        super(FormNoticia, self).__init__(*args, **kwargs)
        if self.instance.id:
            self.initial['tags'] = tags_para_objeto(self.instance)
            
class AdminNoticia(ModelAdmin):
    form = FormNoticia
    def save_model(self, request, obj, form, change):
        super(AdminNoticia, self).save_model(request, obj, form, change)

        aplicar_tags(obj, form.cleaned_data['tags'])
    class Media:
        js = ('/js/tiny_mce/tiny_mce.js', '/js/textareas.js')
    fieldsets = [
        ('Principais', {'fields':(('publicar','manchete'),('titulo'),'subtitulo','chamada')}),
        ('Conteudo', {'fields':('conteudo', 'tags', 'nomecategoria','imagemDestaque','autor','fonte')}),
        ('Midias', {'fields':(('usarGaleria','galeria'),('usarVideo','video'))}),
    ]
    list_display = ['titulo','publicar','manchete', 'nomecategoria', 'datapublicacao', 'hits']
    ordering = ['datapublicacao']

class EmpresaAdmin(admin.ModelAdmin):
    list_display = ['nome', 'website']
    search_fields = ['nome']

class PublicidadeAdmin(admin.ModelAdmin):
    list_display = ['nome', 'link', 'tipo', 'dataentrada', 'datasaida', 'ativo']
    search_fields = ['nome', 'nomeEmpresa', 'link']

class TipoPublicidadeAdmin(admin.ModelAdmin):
    list_display = ['nome']

class BlogAdmin(admin.ModelAdmin):
    fieldsets = [
        ('Informações',{'fields':('nome','dono', 'igreja', 'email', 'imagem', 'descricao')}),
    ]
    list_display = ['nome','dono', 'email']
    
class BlogNoticiaAdmin(admin.ModelAdmin):
    class Media:
        js = ('/js/tiny_mce/tiny_mce.js', '/js/textareas.js')
    fieldsets = [
        ('Principais', {'fields':(('publicar'),('titulo'),'subtitulo','chamada')}),
        ('Conteudo', {'fields':('conteudo','imagemDestaque','autor', 'nomedoblog')}),
        ('Midias', {'fields':(('usarGaleria','galeria'),('usarVideo','video'))}),
    ]
    list_display = ['titulo', 'nomedoblog', 'datapublicacao', 'publicar']

class CategoriaAdmin(admin.ModelAdmin):
    fieldsets = [
        ('Informações',{'fields':('nome','descricao')}),
    ]
    list_display = ['nome','descricao']

class NoticiaAdmin(admin.ModelAdmin):
    class Media:
        js = ('/js/tiny_mce/tiny_mce.js', '/js/textareas.js')
    fieldsets = [
        ('Principais', {'fields':(('publicar','manchete'),('titulo'),'subtitulo','chamada')}),
        ('Conteudo', {'fields':('conteudo','nomecategoria','imagemDestaque','autor','fonte')}),
        ('Midias', {'fields':(('usarGaleria','galeria'),('usarVideo','video'))}),
    ]
    list_display = ['titulo','publicar','manchete', 'nomecategoria', 'datapublicacao', 'hits']
    ordering = ['datapublicacao']

class ImagemAdmin(admin.TabularInline):
    model = Imagem
    extra = 5

class GaleriaAdmin(admin.ModelAdmin):
    class Media:
        js = ('/js/tiny_mce/tiny_mce.js', '/js/textareas.js')
    fieldsets = [
        ('Principais', {'fields':(('publicar','manchete'),('titulo'),'subtitulo','chamada')}),
        ('Conteudo', {'fields':('conteudo','imagemDestaque','autor')}),
    ]
    inlines = [ImagemAdmin]

class LojaAdmin(admin.ModelAdmin):
    fieldsets = [
        ('Dados da Empresa', {'fields':('nomefatasia', 'razaosocial', 'cnpj', 'responsavel', 'logotipo')}),
        ('Localização', {'fields':('cidade', 'estado', 'endereco', 'numero', 'bairro', 'cep')}),
    ]
    list_display = ['nomefatasia','responsavel', 'logotipo']

class CategoriaprodutoAdmin(admin.ModelAdmin):
    fieldsets = [
        ('Informações',{'fields':('nome','descricao')}),
    ]
    list_display = ['nome','descricao']

class ProdutoAdmin(admin.ModelAdmin):
    fieldsets = [
        ('Dados do Produto', {'fields':('nome', 'descricao', 'preconormal', 'desconto', 'precofinal')}),
        ('Classificação', {'fields':('nomeLoja', 'nomecategoria', 'status')}),
        ('Mídia', {'fields':('fotoum', 'fotodois', 'fototres')}),
    ]
    list_display = ['nome','nomecategoria', 'nomeLoja', 'precofinal', 'status']

admin.site.register(Empresa, EmpresaAdmin)
admin.site.register(Publicidade, PublicidadeAdmin)
admin.site.register(TipoPublicidade, TipoPublicidadeAdmin)

admin.site.register(Blog, BlogAdmin)
admin.site.register(NoticiaBlog, BlogNoticiaAdmin)

admin.site.register(Colaborador)
admin.site.register(Categoria, CategoriaAdmin)
admin.site.register(GaleriaFotos)
admin.site.register(Video)
admin.site.register(Noticia, AdminNoticia)

admin.site.register(Galeria, GaleriaAdmin)

admin.site.register(Loja, LojaAdmin)
admin.site.register(Produto, ProdutoAdmin)
admin.site.register(Categoriaproduto, CategoriaprodutoAdmin)